import sensor, image, time
from pyb import UART
# 颜色追踪的阈值设置
green_threshold = (0, 75, 37, 127, 18, 55)

uart = UART(3, 9600, timeout_char=1000)
sensor.reset()  # 初始化摄像头
sensor.set_pixformat(sensor.RGB565)  # 格式为 RGB565
sensor.set_framesize(sensor.QVGA)  # 使用 QQVGA 分辨率
sensor.skip_frames(time=2000)  # 跳过 2000ms，使新设置生效
sensor.set_auto_gain(False)  # 关闭自动增益
sensor.set_auto_whitebal(False)  # 关闭自动白平衡
clock = time.clock()  # 追踪帧率
uart.init(9600,8,None,1) #对串口3给定参数初始化

def send_data(data1,data2):
    img_data=bytearray([0x2C,7,data1,data2,7,0x5B])
    uart.write(img_data)

while True:
    clock.tick()  # 开始计时
    img = sensor.snapshot()  # 拍摄一张图像

    blobs = img.find_blobs([green_threshold],pixels_threshold=40)

    if blobs:
        # 初始化最大面积的 blob
        largest_blob = max(blobs, key=lambda b: b[2] * b[3])

        # 在最大面积的色块周围画一个矩形
        img.draw_rectangle(largest_blob[0:4])
        # 在最大面积的色块中心画一个十字
        img.draw_cross(largest_blob[5], largest_blob[6])
        send_data(largest_blob[5], largest_blob[6])
    else:
        send_data(160,120)




